Dynamic group formation for electronically collaborative group events

ABSTRACT

Member profiles, for the participants of a social networking service and their relationship information with other participants and activity history data, are received. A plurality of groups is generated that include one or more participants. A set of parameters for a collaborative shopping event is received. At least one group is adjusted based upon the set of parameters. The participants of the at least one group are sent an invitation to join the collaborative shopping event. The collaborated shopping event is linked to a cyber shopping service. The at least one group is scored based upon participation of participants in the collaborative shopping event. The participants in the collaborative shopping event are modified based upon the score.

BACKGROUND

The present disclosure relates to electronically collaborativeexperiences, and more specifically, to the formation of dynamic groupsfor an electronically collaborative group events, such as eventsrelating to a shopping experience.

Social networking services have become very important for individuals tocreate, share, and exchange information and ideas with one another.Social networking services may take several forms, such as internetforums, weblogs, social blogs, social networks, etc. Furthermore,information that may be exchanged may take several forms, such as blogs,pictures, video blogs, wall-posts, etc. A group may be created usingsocial networking services which allow users to create, post, comment toand read from their own interest- and niche-specific forums. Groups,which may allow for open or closed access, invitation and/or joining byother users, may be formed to provide mini-networks within the larger,more diverse social network service.

SUMMARY

Embodiments of a method for enablement of collaborative shopping forparticipants of a social networking service. In various embodiments, themethod may include receiving member profiles for the participants of thesocial networking service, the member profiles including relationshipinformation between the participants and participant activity historydata. The method may also include generating, based upon therelationship information and the participant activity history data, aplurality of groups that include one or more of the participants. Also,the method may include receiving a set of parameters for a collaborativeshopping event. In addition, the method may include adjusting at leastone group from the plurality of groups based upon the set of parameters.The method may also include sending, to participants in the at least onegroup, an invitation to join the collaborative shopping event.Consistent with various embodiments, the method may also include linkingthe collaborative shopping event to a cyber shopping service. Also, themethod may include scoring the at least one group based uponparticipation of participants in the collaborative shopping event.Furthermore, the method may include modifying the participants in thecollaborative shopping event based upon the score.

Embodiments of a system for enablement of collaborative shopping forparticipants of a social networking service. In various embodiments, thesystem may include a data-mining module configured to receive memberprofiles for the participants of the social networking service, themember profiles including relationship information between theparticipants and participant activity history data. The data-miningmodule may also be configured to generate, based upon the relationshipinformation and the participant activity history data, a plurality ofgroups that include one or more of the participants. Also, thedata-mining module may be configured to receive a set of parameters fora collaborative shopping event, adjust at least one group from theplurality of groups based upon the set of parameters, and send, toparticipants in the at least one group, an invitation to join thecollaborative shopping event. The system may also include acollaboration enablement module configured to link the collaborativeshopping event to a cyber shopping service. Furthermore, the system mayalso include a scoring tool configured to score the at least one groupbased upon participation of participants in the collaborative shoppingevent, and modify the participants in the collaborative shopping eventbased upon the score.

Embodiments of a computer program product configured to enablecollaborative shopping for participants of a social networking service.In various embodiments, the computer program product may receive memberprofiles for the participants of the social networking service, themember profiles including relationship information between theparticipants and participant activity history data. The computer programproduct may also generate, based upon the relationship information andthe participant activity history data, a plurality of groups thatinclude one or more of the participants. Also, the computer programproduct may receive a set of parameters for a collaborative shoppingevent. Consistent with various embodiments, the computer program productmay adjust at least one group from the plurality of groups based uponthe set of parameters. In addition, the computer program product maysend, to participants in the at least one group, an invitation to jointhe collaborative shopping event. The computer program product may alsolink the collaborative shopping event to a cyber shopping service. Also,the computer program product may score the at least one group based uponparticipation of participants in the collaborative shopping event.Furthermore, the computer program product may modify the participants inthe collaborative shopping event based upon the score.

The above summary is not intended to describe each illustratedembodiment or every implementation of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings included in the present application are incorporated into,and form part of, the specification. They illustrate embodiments of thepresent disclosure and, along with the description, serve to explain theprinciples of the disclosure. The drawings are only illustrative ofcertain embodiments and do not limit the disclosure.

FIG. 1 illustrates a computing infrastructure configured to executedynamic group formation for an electronically collaborative groupshopping experience, consistent with embodiments of the presentdisclosure.

FIG. 2 illustrates a sequence diagram for dynamic group formation of anelectronically collaborative group shopping experience, consistent withembodiments of the present disclosure.

FIG. 3 illustrates a method for dynamic group formation for anelectronically collaborative group shopping experience, consistent withembodiments of the present disclosure.

FIG. 4 illustrates an embodiment of a computer system that is suitablefor executing the computer software for a dynamic group formation for anelectronically collaborative group shopping experience as described withrespect to the figures herein.

FIG. 5 illustrates a schematic of an example of a cloud computing node.

FIG. 6 illustrates a schematic of an example cloud computingenvironment.

FIG. 7 illustrates a schematic of an example set of functionalabstraction layers provided by a cloud computing environment.

While the invention is amenable to various modifications and alternativeforms, specifics thereof have been shown by way of example in thedrawings and will be described in detail. It should be understood,however, that the intention is not to limit the invention to theparticular embodiments described. On the contrary, the intention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention.

DETAILED DESCRIPTION

Aspects of the present disclosure relate to electronically collaborativeexperiences, more particular aspects relate to the formation of dynamicgroups for electronically collaborative group events, which can berelated to a shopping experience. While the present disclosure is notnecessarily limited to such applications, various aspects of thedisclosure may be appreciated through a discussion of various examplesusing this context.

Embodiments of the present disclosure may be employed to form groupsthat are persistent (e.g., family, friends), interest specific (e.g.,likes similar books, clothing, television programs, etc.), goal specific(e.g., share shipping cost, purchase a product in bulk to obtain adiscount, etc.), etc. When a group is created, individuals may receivean invitation to join a collaborative shopping event. Each individualmay accept or decline the invitation and once an individual has acceptedthe invitation, they may send and/or receive messages and/or photomessages to and from the other individuals who accepted the invitation.Thus allowing members of the group to collaborate and communicate withone another for the purpose of utilizing a cyber shopping service for agroup shopping experience.

As used herein, the term social networking service refers to a conceptthat an individual's personal network of friends, family colleagues,coworkers, and the subsequent connections within those networks, can beutilized to find more relevant connections for a variety of activities,including, but not limited to dating, job networking, service referrals,content sharing, like-minded individuals, activity partners, or thelike. An online social networking service typically comprises anindividual's set of direct and/or indirect personal relationships,including real and virtual privileges and permissions that individualsmay associate with these people. Direct personal relationships usuallyinclude relationships with people the individual may communicated withdirectly, including family members, friends, colleagues, coworkers, andother people with whom the individual has had some form of directcontact, such as contact in person, by telephone, by email, by instantmessage, by letter, or the like.

As used herein, the term participant refers to an individual that has amember profile on a social networking service. A social networkingservice may include various profile information about a participant,including, but not limited to the participant's image or avatar, contactinformation, the participant's preferences, degrees of separationbetween the participant and another participant, a membership in anactivity, group, or the like. Social networking service informationfurther may include various information about communications between theparticipant and other participants in the social networking service,including, but not limited to emails, social networking services (SNS)messages, instant messaging (IM) messages, Multimedia Message (MMS)messages, alerts, audio messages, phone calls, either received or sentby the participant, or the like.

Embodiments of the present invention will now be described more fullyhereinafter with reference to the accompanying figures. However, thisinvention may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth. The embodimentsdisclosed are provided so that this disclosure may fully convey thescope of the invention to those skilled in the art. Therefore, thefollowing detailed description is not to be taken in a limiting sense.

FIG. 1 illustrates a computing infrastructure 100 configured to executedynamic group formation for an electronically collaborative groupshopping experience, consistent with embodiments of the presentdisclosure. The infrastructure may include a third party 102, adata-mining module 106, a social networking service 114, an invitation116, a participant 118, and electronic forum 120, and a cyber shoppingservice 122, which are communicatively coupled to each other using oneor more communication networks 104. The network 104 may include the widearea networks (such as the Internet), local area networks that caninclude one or more servers, networks, or databases, and may use aparticular communication protocol to transfer data between the entitiesincluded in computing infrastructure 100.

The third party 102 is included to represent an entity that can generatea request that the data-mining module 106 create a dynamic group. FIG. 1represents third party 102 as a separate entity and communicating to thedata-mining module 106 via network 104. However, this is only forillustrative purposes and third party 102 may be included withindata-mining module 106, social networking service 114, electronic forum120, etc. Also, third party 102 may be a number of entities thatrequests the creation of a dynamic group, such as an individual, anenterprise, computer software, etc.

The data-mining module 106 may use a set of criteria to discover groupsof participants on the social networking service 114 via network 104.The set of criteria may instruct the data-mining module 106 to obtaincertain information on the member profile of a participant on the socialnetworking service 114. The set of criteria may instruct the data-miningmodule 106 to obtain a number of different types of information on themember profile of a participant, such as relationships of a participant,participant behavior histories, participant registration information,classifications and similarities between products that participants havepurchased, data from marketing activities, etc.

Once the groups are discovered, the data-mining module 106 may receive aset of parameters. The parameters may indicate, to the data-miningmodule 106, which participants from the groups may be selected to takepart in an electronically collaborative group shopping experience. Forinstance, the set of parameters may be based on the relationships of theparticipants, where the participants work, shared goals of participants,etc. Furthermore, there may be one parameter or several parameters. Forexample, a parameter may instruct the data-mining module 106 to send aninvitation 116 to participants 118 that have a first order relationshipor a second order relationship with the third party 102. The third party102 has a first order relationship with the participants 118 that theyare “friends” with on the social networking service 114. In thisexample, a “friend” can be defined as another participant 118 that ismember of the third party's network and the third party 102 may view theparticipant's full member profile. A second order relationship could bedefined as a participant 118 that is not a “friend” of the user, but hasat least ten mutual “friends” with the third party 102. These, andother, different orders (or levels) of relationships can be used aloneor in various combinations. The data-mining module 106 may then selectthe participants 118 that are “friends” with the third party 102 or hasten mutual “friends” with the third party 102 and send them aninvitation 116 to join an electronically collaborative group shoppingexperience.

In the preceding example, the parameter was set for first order andsecond order relationships. However, this example is only fordescriptive purposes and other parameters may be set that instruct thedata-mining module 106 to send an invitation 116 to differentparticipants 118. For instance, a parameter may instruct the data-miningmodule 106 to send an invitation 116 to any participant 118 that isemployed at the same enterprise as third party 102 or to any participant118 that lives in the same town or city as the third party 102. Also, iforders of relationships are used, the parameters may be relaxed to allowthird order relationships, fourth order relationships, etc. into thegroup. Furthermore, FIG. 1 represents participants 118 as a separateentity and communicating to the data-mining module 106 via network 104.However, this is only for illustrative purposes and participants 118 maybe included within social networking service 114, third party 102, cybershopping service 122, etc.

When the groups have been formed and the invitations 116 sent to theparticipants 118, the participants 118 may accept or decline theinvitation. The participants 118 who accept the invitation 116 may belinked to the electronic collaborative group shopping forum 120. FIG. 1represents the electronic collaborative group shopping forum 120 as aseparate entity and communicating to the data-mining module 106 vianetwork 104. However, this is only for illustrative purposes and thegroup shopping forum 120 may be included within, or through, socialnetworking service 114, third party 102, the data-mining module 106,etc.

A few examples of collaborations that may be enabled using the groupshopping forum 120 may include discussions or various kinds of inputfrom participants 118 involved about recommendations of products. Toenable this discussion capability, the recommendations are given to theparticipants 118 using a collaboration enablement module 110, shownincluded within the data-mining module 106. The recommendations may begiven such that each participant 118 is informed that there are otherparticipants 118 receiving these recommendations. The collaborationenablement module 110 may then provide a method or methods for theparticipants 118 to give input to the recommendations. For example, arecommendation may be given to the participants 118 on the socialnetworking service 114 and when any of them give feedback on therecommendation, other participants 118 involved may see the feedback. Inanother example, the participants 118 may also be involved in emails sothat they may reply to the emails to discuss. Furthermore, there may bea feature available with the recommendation such that each participant118 may open a “chat-box” for the recommendation and the otherparticipants 118 are automatically involved in the “chat.”

In addition to the collaborative aspects of the electronic collaborativegroup shopping forum 120, participants 118 who have accepted theinvitation 116 may also invite other individuals to join the group.Also, when product recommendations have been made and a participant 118has questions about a product, the group shopping forum 120 may have thecapability to recommend other participants 118, to the participant 118,who may be able to answer a participant's questions. The group shoppingforum 120 may also be capable of suggesting participants 118 to theparticipant 118 that have interest in the product and may be consultedby the participant 118 in a one on one discussion or in a groupdiscussion.

The collaboration enablement module 110 may also provide a feature suchthat the electronic collaborative group shopping forum 120 may be linkedto the cyber shopping service 122. The participants 118 may then becapable of opening a shared shopping cart created for them by thecollaboration enablement module 110. The participants 118 may choose toshop on the cyber shopping service 122 individually or in the sharedshopping cart. The participants 118 may add items to the shared shoppingcart, choose to have the items delivered to one location or multiplelocations, and confirm the purchasing of the items and the deliverymethods of the items. The collaboration enablement module 110 may thencalculate the price of the items in the shared shopping cart anddelivery costs including any promotions from the cyber shopping service122. The collaboration enablement module 110 may then allow theparticipants 118 to choose to pay for their items or designate paymentto another participant 118.

In the collaborations, some participants 118 may not want to disclosecertain information to other participants 118 that also accepted theinvitation 116 to join the electronically collaborative group shoppingexperience. For example, if participant 1 receives a productrecommendation and the recommendation says that participant 2 andparticipant 3 are also receiving the recommendation, then participant 1may infer that participant 2 and participant 3 have also viewed thisproduct or similar products. However, participant 2 and participant 3may not want this information to be known by other participants. Thecollaboration enablement module 110 may then include a preferenceconfiguration tool 112 that may enable participant 2 and participant 3to configure their own level of privacy protection.

The preference configuration tool 112 may also allow participants 118 todisable the feature of receiving invitations 116 to join anelectronically collaborative group shopping experience. A participant118 may also configure the information, from the member profile of theparticipant 118, that the data-mining module 106 is allowed to use todiscover groups. For example, the participant 118 may disallow thedata-mining module 106 to use the participant's browsing history,shopping history, or voting data for group discovery so that otherparticipants that accept an invitation 116 not know such histories ofthe participant 118. Furthermore, the third party 102 that creates thegroup, may use the preference configuration tool 112 to configuresettings so that when participants 118 receive an invitation 116 orreceive product recommendations, the participants may not know who sentthe invitation 116 or recommendations, but the participants may still beensured that the third party 102 is someone they have a relationshipwith and not a solicitation from an unwanted source. In addition, if aparticipant 118, who has their identity withheld from other participants118, would like to designate another participant 118 to pay for items ina group shopping cart or have the items delivered to the otherparticipant 118, the participant 118 must agree to disclose his or heridentity to the participant 118 who will pay for or receive the items.

Consistent with various embodiments, the data-mining module 106 may alsoreceive post-recommendation behavior data and adjust the electronicallycollaborative group shopping experience. The post-recommendationbehavior data may include preference settings from the preferenceconfiguration tool 112 and group activity of the participants 118, suchas a participant's degree of participation in the collaboration, theparticipant's comments or ratings of the products recommended, whether aparticipant chooses to leave the group, whether a participant buys aproduct recommended, etc. The data-mining module 106 may include ascoring tool 108 that scores the group and/or the participants of thegroup, based on the post-recommendation data. Then, through time, agroup and/or the participants of the group that have low scores may beeliminated and a group and/or the participants of the group that havehigh scores may persist and be used to calculate future recommendations.

FIG. 2 illustrates a sequence diagram 200 for dynamic group formation ofan electronically collaborative group shopping experience, consistentwith embodiments of the present disclosure. Initially, first input datamodule 202 may include first input data. As shown, the first input datamay include social networking service participant relationships 204,participant behavior data 206, other participant information 208,classifications and similarities between products that participants havepurchased 210, and data from marketing activities 212.

In various embodiments, the first input data module 202 may pass firstinput data to a data-mining module 214. As illustrated, the data-miningmodule 214 may include a recommendations to participants module 216. Therecommendations to participants module 216 may use the first input datato determine item recommendations to each participant for whom firstinput data has been collected. The module may then create itemrecommendations to participants data 218 and pass it to arecommendations to groups module 226 and to a group discovery module220. The group discovery module 220 may discover groups based on thefirst input data in conjunction with the item recommendations toparticipants data 218. In an example, the item recommendations toparticipants data 218 may be a set of parameters that the groupdiscovery module 220 may use to form a number of different groups. Theparameters may be based on relationship data, product purchase data,communication or comment data, etc. The group discovery module 220 maythen use the parameters and the first input data to assort participantsinto different groups. From this assortment, group data 222 may then becreated and passed to a group adjustment module 224.

The group adjustment module 224 may take the group data 222 and adjustthe discovered groups accordingly. For example, an invitation 116, fromFIG. 1, may have been sent to the participants 118, from FIG. 1. Theparticipants 118 may then accept or decline the invitation 116. Thediscovered groups may then be adjusted so the groups now only includeparticipants 118 that accepted their invitation 116. From thisadjustment, new group data 222 may be created and passed to therecommendations to groups module 226 and a group discussion enablementmodule 238.

The recommendations to groups module 226 may use the group data 222 inconjunction with the item recommendations to participants data 218 tomake recommendations to the groups. For example, the groups may havebeen discovered using parameters based on product purchase data. Theparameters may have delineated participants into groups that havepurchased similar products. The recommendations to groups module 226 maythen use the product purchase data to determine recommendations to thegroups about even more similar products. In another example, theparameters may be based on relationship data. The parameters may havedelineated the groups into participants that work for the sameenterprise. The recommendations to groups module 226 may then us therelationship data to determine recommendations about products that maybe useful in their employment. From these determinations,recommendations to groups data 228 may be created and passed to a giverecommendations module 234 and the group discussion enablement module238.

As shown, a participant invite module 230 may also be included withinthe data-mining module 214. A participant who is a member of a group mayknow of other individuals who may be interested in the recommendationsdetermined by the recommendations to groups module 226. The participantinvite module 230 allows a participant to decide whether to invite otherindividuals to the group so they may also be participants in the group.From this decision, participant invite data 232 may be created andpassed to the give recommendations module 234 and a participantinteraction module 242. The give recommendations module 234 then makesrecommendations to the groups based upon the recommendations to groupsdata 228 and the participant invite data 232.

Consistent with various embodiments, a collaboration enablement module236 may be present. As illustrated, included within the collaborationenablement module 236 may be the group discussion enablement module 238,a shared shopping cart creation module 240, the participant interactionmodule 242, and a privacy protection module 244. Furthermore, thecollaboration enablement module 236 may receive marketing activitiesdata 212 that is used by the modules included in the collaborationenablement module 236.

When the give recommendations module 234 has given recommendations andthe group data 222, recommendations to groups data 228, and theparticipant invite data 232 has been received, the group discussionenablement module 238 may enable group discussions about therecommendations by way of emails, a social networking service, chat-box,etc. The group discussion enablement module 238 may then enable theshared shopping cart creation module 240 to create a shared shoppingcart for the participants. Furthermore, the shared shopping cartcreation module 240 may enable the participants to choose to have itemsincluded in the shopping cart delivered to one location or multiplelocations, and confirm the purchasing of the items and the deliverymethods of the items. The shared shopping cart creation module 240 maythen calculate the price of the items in the shared shopping cart anddelivery costs including any item promotions. The shared shopping cartcreation module 240 may then allow the participants to choose to pay fortheir items or designate payment to another participant.

In various embodiments, the participant interaction module 242 mayreceive the participant invite data 232 and send an invitation toindividuals that a participant would like to include in the group. Ifthe individual accepts the invitation, the participant interactionmodule 242 may enable the group discussion enablement module 238 toinclude the new invitee may join in the discussions with the group.

The privacy protection module 244 may allow participants to configuretheir own level of privacy protection. The privacy protection module 244may enable the group discovery module 220 to protect certain informationfrom being used to discover groups. Also, the privacy protection module244 may enable the group discussion enablement module 238 to withholdthe identity (or other data) of a participant from other participants inthe group during a discussion. In addition, the privacy protectionmodule 244 may enable the shared shopping cart creation module 240 towithhold the identity of a participant from other participants in thegroup during the group shopping experience. However, if a participant,who has their identity withheld from other participants, would like todesignate another participant to pay for items in a shared shopping cartor have the items delivered to the other participant, the participantmay need to agree to disclose his or her identity to the participant whowill pay for or receive the items. Furthermore, the privacy protectionmodule 244 may enable the participant invite module 230 to protectcertain information from being used to decide if an individual should beinvited to a group and may enable the participant interaction module 242to be capable of allowing a participant to send an invitation withoutthe invitee knowing who sent the invitation. However, the invitee maystill be ensured that the sender of the invitation is someone they havea relationship with and not a solicitation from an unwanted source. Inaddition, the participant interaction module 242 may allow participantsto disable the feature of receiving invitations to join a group shoppingexperience.

As shown, post-recommendation data 246 may be created from the executionof the modules within the collaboration enablement module 236. Thepost-recommendation data 246 may then be passed back to the data-miningmodule 214. The post-recommendation data 246 may be used by the modulesshown in the data-mining module 214 to create more groups or furtherrefine existing groups and recommendations. For example, thepost-recommendation data 246 may be used to score a group and/or theparticipants of the group. A group and/or the participants of the group,that have low scores, may be eliminated and a group and/or theparticipants of the group, that have high scores, may persist and beused to calculate future recommendations. Furthermore, thepost-recommendation data 246 may be used by the recommendations toparticipants module 216 to create new recommendations to participantsdata 218 that may then be used in the discovery of new groups.

FIG. 3 illustrates a method 300 for dynamic group formation for anelectronically collaborative group shopping experience, consistent withembodiments of the present disclosure. At operation 302, member profilesmay be received for participants of a social networking service. Themember profiles may contain information such as relationships of aparticipant, participant behavior histories, participant registrationinformation, classifications and similarities between products thatparticipants have purchased, data from marketing activities, etc. Theinformation received may be based on a request for the specificinformation or a general query for some or all of the informationavailable on the member profiles of participants. At operation 304,groups may be generated based on the information obtained from themember profiles.

Consistent with various embodiments, at operation 306, a set ofparameters may be received for the purpose of creating an electronicallycollaborative group shopping event. The set of parameters may be basedon the relationships of the participants, where the participants work,shared goals of participants, etc. Furthermore, there may be oneparameter or several parameters. At operation 308, the participants maybe selected to take part in the group shopping event based on theparameters. At operation 310, invitations may be sent out to theparticipants selected. Participants may be capable of accepting ordeclining the invitation. The participants who accept the invitation maythen be provided with an electronic communication capability, peroperation 312. With this capability, participants may be able to takepart in various discussions about recommendations of products made tothe group. The participants may provide input or feedback aboutrecommendations, suggest products that may be of interest to otherparticipants, etc. Furthermore, the communication capability may beprovided using a social networking service, e-mail, “chat-box”, etc. Inaddition to being able to communicate electronically with otherparticipants in the group, participants may send invitations to otherindividuals to join the group, per operation 314. The invitees mayaccept or decline the invitations and if they accept, they may also becapable of communicating electronically with other participants in thegroup.

In various embodiments, at operation 316, the collaborative shoppinggroup may be linked to a cyber shopping service. The participants maythen be capable of opening a shared shopping cart created for them. Theparticipants may choose to shop on the cyber shopping serviceindividually or in the shared shopping cart. The participants may additems to the shared shopping cart, choose to have the items delivered toone location or multiple locations, and confirm the purchasing of theitems and the delivery methods of the items. The price of the items inthe shared shopping cart may then be calculated along with the deliverycosts including any promotions from the cyber shopping service. Theparticipants may then be allowed to choose to pay for their items ordesignate payment to another participant.

As shown, operation 318 determines whether any post-recommendationbehavior data may be received. If post-recommendation behavior data isreceived, the groups may then be adjusted in operation 308. Thepost-recommendation behavior data may be based on preferences configuredby the participants. A participant may configure their preference insuch a way that they may not want to disclose certain information toother participants that also accepted the invitation to join theelectronically collaborative group shopping experience. For instance, aparticipant may wish to have their identity withheld from otherparticipants during a group collaboration event. Preferences may also beconfigured to disable the feature of receiving invitations to join anelectronically collaborative group shopping experience, select theinformation that is allowed to be used to discover groups, withhold aparticipant's identity when the participant invites other individuals tojoin the group, withhold participants identities during group shopping,etc.

In addition, the post-recommendation behavior data may be based on aparticipant's degree of participation in the collaboration, theparticipant's comments or ratings of the products recommended, whether aparticipant chooses to leave the group, whether a participant buys aproduct recommended, etc. A group and/or the participants of the groupmay then be scored based on the post-recommendation behavior data. Thegroup and/or the participants of the group that have low scores may thenbe eliminated and a group and/or the participants of the group that havehigh scores may persist and be used to calculate future recommendations.

FIG. 4 depicts a schematic representation of a computer system 400 of atype that is suitable for executing computer software for a dynamicgroup formation for an electronically collaborative group shoppingexperience, consistent with embodiments of the present disclosure.Computer software executes under a suitable operating system installedon the computer system 400, and may be thought of as comprising varioussoftware code for achieving particular steps.

The components of the computer system 400 include a computer 420, akeyboard 410, a mouse 415, and a video display 490. The computer 420includes a processor 440, a memory 450, input/output (I/O) interfaces460, 465, a video interface 445, and a storage device 455.

The processor 440 is a central processing unit (CPU) that executes theoperating system and the computer software executing under the operatingsystem. The memory 450 includes random access memory (RAM) and read-onlymemory (ROM), and is used under direction of the processor 440.

The video interface 445 is connected to video display 490 and providesvideo signals for display on the video display 490. User input tooperate the computer 420 is provided from the keyboard 410 and mouse415. The storage device 455 can include a disk drive or other suitablestorage mediums.

Each of the components of the computer 420 is connected to an internalbus 430 that includes data, address, and control buses, to allowcomponents of the computer 420 to communicate with each other via thebus 430.

The computer system 400 can be connected to one or more other similarcomputers via an input/output (I/O) interface 465 using a communicationchannel 485 to a network, represented as the Internet 480.

The computer software may be recorded on a portable storage medium, inwhich case, the computer software program is accessed by the computersystem 400 from the storage device 455. Alternatively, the computersoftware can be accessed directly from the Internet 480 by the computer420. In either case, a user can interact with the computer system 400using the keyboard 410 and mouse 415 to operate the programmed computersoftware executing on the computer 420.

FIG. 4 illustrates an embodiment of a computer system 400 that issuitable for executing the computer software for a dynamic groupformation for an electronically collaborative group shopping experienceas described with respect to the figures herein. It should beappreciated, however, that FIG. 4 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Manymodifications to the depicted environment may be made based on designand implementation requirements. Examples of computer systems,environments, and/or configurations that may be represented by FIG. 4include, but are not limited to, desktop computers, laptop computers,server computers, thin clients, thick clients, multiprocessor systems,microprocessor-based systems, and distributed cloud computingenvironments that include the above systems or devices.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

It is understood in advance that although this disclosure includes adetailed description on cloud computing, implementation of the teachingsrecited herein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g. networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based email). Theconsumer does not manage or control the underlying cloud infrastructureincluding network, servers, operating systems, storage, or evenindividual application capabilities, with the possible exception oflimited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting for loadbalancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Referring now to FIG. 5, a schematic of an example of a cloud computingnode is shown. Cloud computing node 10 is only one example of a suitablecloud computing node and is not intended to suggest any limitation as tothe scope of use or functionality of embodiments of the inventiondescribed herein. Regardless, cloud computing node 10 is capable ofbeing implemented and/or performing any of the functionality set forthherein above.

In cloud computing node 10 there is a computer system/server 12, whichis operational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server 12 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, handheld or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system/server 12 may be described in the general context ofcomputer system executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 12 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 5, computer system/server 12 in cloud computing node 10is shown in the form of a general-purpose computing device. Thecomponents of computer system/server 12 may include, but are not limitedto, one or more processors or processing units 16, a system memory 28,and a bus 18 that couples various system components including systemmemory 28 to processor 16.

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnect (PCI) bus.

Computer system/server 12 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 12, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Computer system/server 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 34 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 18 by one or more datamedia interfaces. As will be further depicted and described below,memory 28 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 40, having a set (at least one) of program modules 42,may be stored in memory 28 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 42 generally carry out the functions and/ormethodologies of embodiments of the invention as described herein.

Computer system/server 12 may also communicate with one or more externaldevices 14 such as a keyboard, a pointing device, a display 24, etc.;one or more devices that enable a user to interact with computersystem/server 12; and/or any devices (e.g., network card, modem, etc.)that enable computer system/server 12 to communicate with one or moreother computing devices. Such communication can occur via Input/Output(I/O) interfaces 22. Still yet, computer system/server 12 cancommunicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 20. As depicted, network adapter 20communicates with the other components of computer system/server 12 viabus 18. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 12. Examples, include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

Referring now to FIG. 6, illustrative cloud computing environment 50 isdepicted. As shown, cloud computing environment 50 comprises one or morecloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B, laptop computer 54C,and/or automobile computer system 54N may communicate. Nodes 10 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 50 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 54A-N shownin FIG. 6 are intended to be illustrative only and that computing nodes10 and cloud computing environment 50 can communicate with any type ofcomputerized device over any type of network and/or network addressableconnection (e.g., using a web browser).

Referring now to FIG. 7, a set of functional abstraction layers providedby cloud computing environment 50 (FIG. 6) is shown. It should beunderstood in advance that the components, layers, and functions shownin FIG. 7 are intended to be illustrative only and embodiments of theinvention are not limited thereto. As depicted, the following layers andcorresponding functions are provided: Hardware and software layer 60includes hardware and software components. Examples of hardwarecomponents include mainframes, in one example IBM® zSeries® systems;RISC (Reduced Instruction Set Computer) architecture based servers, inone example IBM pSeries® systems; IBM xSeries® systems; IBM BladeCenter®systems; storage devices; networks and networking components. Examplesof software components include network application server software, inone example IBM WebSphere® application server software; and databasesoftware, in one example IBM DB2® database software. (IBM, zSeries,pSeries, xSeries, BladeCenter, WebSphere, and DB2 are trademarks ofInternational Business Machines Corporation registered in manyjurisdictions worldwide).

Virtualization layer 62 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers;virtual storage; virtual networks, including virtual private networks;virtual applications and operating systems; and virtual clients.

In one example, management layer 64 may provide the functions describedbelow. Resource provisioning provides dynamic procurement of computingresources and other resources that are utilized to perform tasks withinthe cloud computing environment. Metering and Pricing provide costtracking as resources are utilized within the cloud computingenvironment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal provides access to the cloud computing environment forconsumers and system administrators. Service level management providescloud computing resource allocation and management such that requiredservice levels are met. Service Level Agreement (SLA) planning andfulfillment provide pre-arrangement for, and procurement of, cloudcomputing resources for which a future requirement is anticipated inaccordance with an SLA.

Workloads layer 66 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation; software development and lifecycle management; virtualclassroom education delivery; data analytics processing; transactionprocessing; and dynamic group formation for an electronicallycollaborative group shopping experience.

The descriptions of the various embodiments of the present disclosurehave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A computer-implemented method for enablement ofcollaborative shopping for participants of a social networking service,the method comprising: receiving member profiles for the participants ofthe social networking service, the member profiles includingrelationship information between the participants and participantactivity history data; generating, based upon the relationshipinformation and the participant activity history data, a plurality ofgroups that include one or more of the participants; receiving a set ofparameters for a collaborative shopping event; adjusting at least onegroup from the plurality of groups based upon the set of parameters;sending, to participants in the at least one group, an invitation tojoin the collaborative shopping event; linking the collaborativeshopping event to a cyber shopping service; scoring the at least onegroup based upon participation of participants in the collaborativeshopping event; and modifying the participants in the collaborativeshopping event based upon the score.
 2. The method of claim 1, whereinthe participant activity history data includes relationships of aparticipant, behavior history of the participant, and interests of theparticipant.
 3. The method of claim 1, wherein the scoring the at leastone group includes scoring participants of the at least one group andthe participation of participants includes using comments and ratingsgiven by a participant to create a score.
 4. The method of claim 1,further comprising: providing an electronic communication capability forcollaboration between the participants in the collaborative shoppingevent; providing the participants in the collaborative event thecapability to invite other participants to the collaborative shoppingevent; and receiving post-recommendation data describing theparticipation of the participants in the collaborative shopping event.5. The method of claim 1, further comprising: creating an electronicgroup shopping cart that is accessible to the participants in thecollaborative shopping event; enabling the participants in thecollaborative shopping event to choose delivering preferences of itemsincluded in the electronic group shopping cart; calculating cost basedon the items included in the electronic group shopping cart and thedelivering preferences; and enabling participants to choose purchasingpreferences for the items included in the electronic group shoppingcart.
 6. The method of claim 5, wherein the delivering preferencesincludes at least one location for delivery of the items included in theelectronic group shopping cart and the purchasing preferences includesat least one participant from the participants in the collaborativeevent to pay for the items included in the electronic group shoppingcart.
 7. The method of claim 4, wherein the electronic communicationcapability includes electronic mail and the social networking service.